<?php
/*
 * @Description    : 自定义验证类
 * @Version        : 1.0.0
 * @Author         : QianLong
 * @Date           : 2020-01-10 23:18:23
 * @LastEditors    : QianLong
 * @LastEditTime   : 2020-01-10 23:20:44
 */

declare(strict_types=1);
/*
 * 请求校验
 */

namespace App\Validate;

use EasySwoole\Spl\SplArray;

class Validate extends \EasySwoole\Validate\Validate
{
    /**
     * 是否一个有效的日期
     * @param SplArray $splArray
     * @param string $column
     * @param $arg
     * @return bool
     */
    private function isDate(SplArray $splArray, string $column, $arg): bool
    {
        $data = $splArray->get($column);
        if (is_string($data)) {
            return is_numeric(strtotime($data));
        } else {
            return false;
        }
    }

    /**
     * 是否一个有效的PID
     * @param SplArray $splArray
     * @param string $column
     * @param $arg
     * @return bool
     */
    private function isPid(SplArray $splArray, string $column, $arg): bool
    {
        $data = $splArray->get($column);
        if (is_string($data)) {
            return preg_match('/^mm_\d+_\d+_\d+$/', $data);
        } else {
            return false;
        }
    }

    /**
     * 是否不为空
     * @param SplArray $splArray
     * @param string $column
     * @param $arg
     * @return bool
     */
    private function notEmpty(SplArray $splArray, string $column, $arg): bool
    {
        $data = $splArray->get($column);
        if ($data === 0 || $data === '0') {
            return true;
        } else {
            return !empty($data);
        }
    }
}
